Skip to content

Trigger Quay push on oadp-* branch pushes instead of tag pushes#155

Merged
Joeavaikath merged 2 commits intomigtools:oadp-devfrom
Joeavaikath:quay-push-update
Mar 16, 2026
Merged

Trigger Quay push on oadp-* branch pushes instead of tag pushes#155
Joeavaikath merged 2 commits intomigtools:oadp-devfrom
Joeavaikath:quay-push-update

Conversation

@Joeavaikath
Copy link
Copy Markdown
Contributor

@Joeavaikath Joeavaikath commented Mar 16, 2026

Changes the workflow trigger from version tags (v*) to oadp-* branches so that images are pushed when PRs merge into oadp-dev or release branches like oadp-1.6. Uses the branch name as the image version tag.

Why the changes were made

Push to Quay on any push to dev and release branches

How to test the changes made

Check if it works after a PR goes in or release branch is cut

Summary by CodeRabbit

  • Chores
    • Updated binary distribution workflow to use branch-based triggers (oadp-*) and added branch PR triggers.
    • Adjusted manifest creation logic to run conditionally based on branch name, distinguishing oadp-dev vs version branches.
    • Aligned tag/manifest steps with the new branch-based workflow to ensure correct manifest publishing.

Changes the workflow trigger from version tags (v*) to oadp-* branches
so that images are pushed when PRs merge into oadp-dev or release
branches like oadp-1.6. Uses the branch name as the image version tag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joseph <jvaikath@redhat.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 16, 2026

📝 Walkthrough

Walkthrough

Workflow triggers for the Quay.io binary push pipeline were changed from tag-based (v*) to branch-based (oadp-*) pushes; manifest creation/tagging steps were gated with new conditions that distinguish oadp-dev from other oadp-* branches.

Changes

Cohort / File(s) Summary
CI/CD Workflow Configuration
​.github/workflows/quay_binaries_push.yml
Switched workflow trigger from tag (v*) to branch (oadp-*) pushes; added oadp-* to pull_request trigger; updated manifest creation and latest-tag steps with if: github.ref_name ==/!= 'oadp-dev' conditions to gate multi-arch manifest and tag creation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Poem

🐰 Branches hop from tag to name, a new parade,
oadp winds lead the binaries through the glade,
Manifests split where dev stays apart,
Tags line up, each playing its part,
I nibble a carrot and cheer this cascade! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Trigger Quay push on oadp-* branch pushes instead of tag pushes' clearly and concisely describes the main change—shifting the workflow trigger from version tags to branch-based pushes.
Description check ✅ Passed The description includes both required template sections ('Why the changes were made' and 'How to test the changes made') with substantive content addressing the purpose and testing approach.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can approve the review once all CodeRabbit's comments are resolved.

Enable the reviews.request_changes_workflow setting to automatically approve the review once all CodeRabbit's comments are resolved.

@Joeavaikath Joeavaikath requested a review from kaovilai March 16, 2026 19:11
kaovilai
kaovilai previously approved these changes Mar 16, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/quay_binaries_push.yml (1)

94-101: ⚠️ Potential issue | 🟠 Major

The latest tag may point to dev code instead of the latest stable release.

With the new branch-based trigger, any push to any oadp-* branch updates the latest tag. This means:

  • A push to oadp-dev after a push to oadp-1.6 would make latest point to development code
  • Users pulling :latest could unexpectedly get unstable/dev binaries

Consider one of these approaches:

  1. Only update latest for specific release branches (not oadp-dev)
  2. Remove automatic latest tagging entirely and document that users should use explicit version tags
  3. Add logic to determine the "highest" release branch
🛠️ Proposed fix: Exclude dev branch from latest tag updates
      - name: Create and push multi-arch manifest (latest tag)
+       if: github.ref_name != 'oadp-dev'
        run: |
          buildah manifest create ${{ env.IMAGE_REPO }}:latest
          buildah manifest add ${{ env.IMAGE_REPO }}:latest ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-amd64
          buildah manifest add ${{ env.IMAGE_REPO }}:latest ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-arm64
          buildah manifest add ${{ env.IMAGE_REPO }}:latest ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-ppc64le
          buildah manifest add ${{ env.IMAGE_REPO }}:latest ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-s390x
          buildah manifest push --all ${{ env.IMAGE_REPO }}:latest
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/quay_binaries_push.yml around lines 94 - 101, The workflow
currently always creates and pushes a multi-arch manifest tagged as "latest"
using buildah (buildah manifest create/add/push and env.IMAGE_REPO with
github.ref_name), which can make :latest point to dev branches; update the step
that runs the "Create and push multi-arch manifest (latest tag)" commands so it
only executes for sanctioned release branches (e.g., add an if condition on the
step or job that checks github.ref_name matches your release pattern and
excludes "oadp-dev" — for example require startsWith(github.ref_name, 'oadp-')
AND github.ref_name != 'oadp-dev' or require a numeric release pattern like
regex matching oadp-\\d+), then keep the buildah manifest create/add/push
commands unchanged but gated behind that condition (alternatively remove the
step entirely if you prefer no automatic latest tagging).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In @.github/workflows/quay_binaries_push.yml:
- Around line 94-101: The workflow currently always creates and pushes a
multi-arch manifest tagged as "latest" using buildah (buildah manifest
create/add/push and env.IMAGE_REPO with github.ref_name), which can make :latest
point to dev branches; update the step that runs the "Create and push multi-arch
manifest (latest tag)" commands so it only executes for sanctioned release
branches (e.g., add an if condition on the step or job that checks
github.ref_name matches your release pattern and excludes "oadp-dev" — for
example require startsWith(github.ref_name, 'oadp-') AND github.ref_name !=
'oadp-dev' or require a numeric release pattern like regex matching oadp-\\d+),
then keep the buildah manifest create/add/push commands unchanged but gated
behind that condition (alternatively remove the step entirely if you prefer no
automatic latest tagging).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7cbc24ea-3f81-4042-9fb5-79e7186a96ec

📥 Commits

Reviewing files that changed from the base of the PR and between 111acba and 56efabf.

📒 Files selected for processing (1)
  • .github/workflows/quay_binaries_push.yml

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Quay multi-arch binary publish workflow to run on pushes to oadp-* branches instead of release-style v* tags, and aligns the manifest push gating with the new branch naming scheme.

Changes:

  • Switch workflow trigger from push.tags: v* to push.branches: oadp-*.
  • Update the push-manifest job condition to check for oadp- branch names.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Restricts pull_request trigger to oadp-* branches to avoid unnecessary
CI runs. Gates push-manifest on event_name == 'push' for clarity.
Pushes 'latest' tag only for oadp-dev; other branches get their branch
name as the image tag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joseph <jvaikath@redhat.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/quay_binaries_push.yml (1)

87-99: Consider allowing oadp-dev to publish both branch-name and latest manifests for consistency.

Line 88's condition if: github.ref_name != 'oadp-dev' intentionally excludes oadp-dev from the branch-name manifest tag, publishing only :latest instead. While this design choice is documented (other oadp-* branches receive versioned tags), removing the condition would provide more consistent tagging across all branches—each would get both its branch name and appropriate rolling tags where applicable.

The suggested change would make oadp-dev publish both :oadp-dev and :latest manifests pointing to the same image, improving parity with release branch tagging strategies.

Suggested fix
-      - name: Create and push multi-arch manifest (version tag)
-        if: github.ref_name != 'oadp-dev'
+      - name: Create and push multi-arch manifest (branch tag)
         run: |
           buildah manifest create ${{ env.IMAGE_REPO }}:${{ github.ref_name }}
           buildah manifest add ${{ env.IMAGE_REPO }}:${{ github.ref_name }} ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-amd64
           buildah manifest add ${{ env.IMAGE_REPO }}:${{ github.ref_name }} ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-arm64
           buildah manifest add ${{ env.IMAGE_REPO }}:${{ github.ref_name }} ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-ppc64le
           buildah manifest add ${{ env.IMAGE_REPO }}:${{ github.ref_name }} ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-s390x
           buildah manifest push --all ${{ env.IMAGE_REPO }}:${{ github.ref_name }}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/quay_binaries_push.yml around lines 87 - 99, The workflow
currently skips the "Create and push multi-arch manifest (version tag)" step for
the oadp-dev branch via the condition if: github.ref_name != 'oadp-dev'; update
the conditions so both manifest steps run for oadp-dev (i.e., allow the "Create
and push multi-arch manifest (version tag)" job to run for 'oadp-dev' as well) —
adjust or remove the conditional on that step so the "Create and push multi-arch
manifest (version tag)" and "Create and push multi-arch manifest (latest tag)"
steps both execute for the oadp-dev branch, ensuring both :oadp-dev and :latest
manifests are created and pushed.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/quay_binaries_push.yml:
- Around line 4-10: Add a top-level GitHub Actions concurrency stanza to
serialize runs per branch so older runs cannot overwrite newer manifests; for
example, add concurrency: group: "quay-binaries-${{ github.ref_name }}" and
cancel-in-progress: true (so new runs cancel prior in-flight runs) to the
workflow that triggers on the 'oadp-*' branches (the block using the branch
pattern 'oadp-*' and pushing tags like ${{ github.ref_name }} and latest) to
ensure only one build/push for a given branch runs at a time.

---

Nitpick comments:
In @.github/workflows/quay_binaries_push.yml:
- Around line 87-99: The workflow currently skips the "Create and push
multi-arch manifest (version tag)" step for the oadp-dev branch via the
condition if: github.ref_name != 'oadp-dev'; update the conditions so both
manifest steps run for oadp-dev (i.e., allow the "Create and push multi-arch
manifest (version tag)" job to run for 'oadp-dev' as well) — adjust or remove
the conditional on that step so the "Create and push multi-arch manifest
(version tag)" and "Create and push multi-arch manifest (latest tag)" steps both
execute for the oadp-dev branch, ensuring both :oadp-dev and :latest manifests
are created and pushed.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1dbe60e0-7007-4a8a-9565-1486444fe0d6

📥 Commits

Reviewing files that changed from the base of the PR and between 56efabf and 26a44f7.

📒 Files selected for processing (1)
  • .github/workflows/quay_binaries_push.yml

Copy link
Copy Markdown
Member

@kaovilai kaovilai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Mar 16, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Joeavaikath, kaovilai, shubham-pampattiwar

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [Joeavaikath,kaovilai,shubham-pampattiwar]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@Joeavaikath Joeavaikath merged commit 55ece75 into migtools:oadp-dev Mar 16, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants